<?php
/*
 Database functions, needs to be included in all pages that need access to the database
 
 Michael Schwarz - 04.12.2010
*/

if(!file_exists("access.inc.php")) {
 header("Location:configure.php");
}
include("access.inc.php");


define("LOG_ACCESS", 1);
define("LOG_INSTALL", 2);
define("LOG_ADMIN", 4);

$req = 0;
$req_t = 0;

$db = "absolventenv";
mysql_connect("localhost", $mysql_user, $mysql_pwd);

if(!mysql_select_db($db)) {
 mysql_query("CREATE DATABASE IF NOT EXISTS $db");
 mysql_select_db($db);
}

/**
 \brief MySQL Query
 
 Fuehrt einen MySQL Query aus und speichert Debug-Informationen (soll statt mysql_query() verwendet werden)
 
 \param $sql der SQL Query
 \return Ergebnis der SQL Abfrage
*/
function db_query($sql) {
 global $req, $req_t;
 $req++;
 $t = microtime(true);
 
 $ret = mysql_query($sql) or die(mysql_error());
 
 $req_t += microtime(true) - $t;
 return $ret;
}


/**
 \brief DEBUG Anzahl der SQL Queries
 
 Gibt die Anzahl der (bis jetzt) ausgefuehrten SQL Queries zurueck
 
 \see db_query($s)
 \return Anzahl der SQL Queries
*/
function db_req() {
 global $req;
 return $req;
}

/**
 \brief DEBUG SQL Queries Zeit
 
 Gibt die Zeit (in Sekunden) zurueck, die (bis jetzt) fuer SQL Queries benoetigt wurde
 
 \see db_query($s)
 \return Zeit (Sekunden) aller SQL Queries
*/
function db_time() {
 global $req_t;
 return $req_t;
}

/**
 \brief Logging
 
 Speichert einen String im angegebenem Logfile
 
 \param $logtype Logfile (LOG_ACCESS, LOG_INSTALL, LOG_PLAY, LOG_ADMIN oder LOG_VOTE)
 \param $str zu loggender String
*/
function _log($logtype, $str) {
 $logfiles = array(1=>"logs/access.log", 2=>"logs/install.log", 4=>"logs/admin.log");
 if($logtype < 1) $logtype = 1;
 if($logtype > 4) $logtype = 4;
 
 if(!file_exists($logfiles[$logtype])) {
  fclose(fopen($logfiles[$logtype], "w"));
 }
 $f = fopen($logfiles[$logtype], "a+");
 fprintf($f, "%s (%s) - %s\n", date("d.m.Y H:i:s", time(null)), $_SERVER["REMOTE_ADDR"], $str);
 fclose($f);
}


?>